return {
    "L3MON4D3/LuaSnip",
    version = "v2.*",
    build = "make install_jsregexp",
    lazy = false,
    event = { "InsertEnter" },
    opts = {
        history = true,
        delete_check_events = "TextChanged",
    },
    config = function()
        require("luasnip.loaders.from_lua").lazy_load({ paths = { "~/.config/nvim/LuaSnip/tex/" } })
        require("luasnip.loaders.from_lua").lazy_load()
    end,
    -- stylua: ignore
    keys = {
        {
            "<tab>",
            function()
                return require("luasnip").jumpable(1) and "<Plug>luasnip-jump-next" or "<tab>"
            end,
            expr = true,
            remap = true,
            silent = true,
            mode = "i",
        },
        { "<tab>",   function() require("luasnip").jump(1) end,  mode = "s" },
        { "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } },
    },
}
